function xml2json(){}
xml2json.prototype={
    s:[],
    j:{},
    u:"undefined",
    v:'(a.j',
    w:'={})',
    x:'["',
    y:'"]',
    filter:{
        tag:function(a){return a},
        attribute:function(a){return a},
        text:function(a,n){return a}
    },
    k:function(b){
        var a=this,b=a.filter.tag(a.t(b));
        if(a.s.length==0||eval(['(typeof a.j',a.s.join(''),a.x,b,'"])'].join(''))==a.u){
            a.s.push([a.x,b,a.y].join(''));
            eval([a.v,a.s.join(''),a.w].join(''))
        }else{
            a.s.push([a.x,b,a.y].join(''));
            var o=eval([a.v,a.s.join(''),")"].join('')),i=1;
            if(typeof o=="string"||typeof o["length"]==a.u){
                eval([a.v,a.s.join(''),'=[o])'].join(''))
            }else{
                i=o.length
            }
            a.s.push(['[',i,']'].join(''));
            eval([a.v,a.s.join(''),a.w].join(''));
        }
    },
    e:function(b){
        var a=this;
        if(a.p.test(a.s[a.s.length-1]))
            a.s.pop();
        if(a.s[a.s.length-1]==[a.x,a.filter.tag(a.t(b)),a.y].join('')){
            a.s.pop()
        }
    },
    f:/<!\[CDATA\[\s*\]\]>|<!\[CDATA\[([\S\s](?!\]\]>))*[\S\s]?\]\]>|<[^>]+>|[^<]+/g,
    g:/^<\s*(\S+)([\s\S]+)?>$/,
    c:/^<\s*\/([^>]+)>$/,
    d:/^<!\[CDATA\[\s*\]\]>|<!\[CDATA\[(([\S\s](?!\]\]>))*[\S\s]?)\]\]>$/,
    n:/\s*(\S+)\s*=\s*(?:'([^']+)'|"([^"]+)")/g,
    p:/^\[\d+\]$/,
    q:/^\s+|\s+$/g,
    t:function(s){return s.replace(this.q,"")},
    sax:function (b){
        var a=this;
        a.j={};
        (""+b).replace(a.f,function(b){
            var b=a.t(b.replace(a.d,function(b,c){
                eval([a.v,a.s.join(''),'.text="',typeof c==a.u?"":c,'")'].join(''));
                return ""
            }).replace(a.c,function(b,c){
                a.e(c);
                return ""
            }).replace(a.g,function(b,c,d){
                a.k(c);
                if(d){
                    var d=a.t(d.replace(a.n,function(b,c,d,e){
                        eval([a.v,a.s.join(''),a.x,a.filter.attribute(c),'"]="',d+e,'")'].join(''));
                        return ""
                    }));
                    if(d=="/"){a.e(c)}
                }
                return ""
            }));
            if(b!="")
            eval([a.v,a.s.join(''),'.text="',b,'")'].join(''));
        });
        return a.j
    }
};
